(1) Field of the Invention
The present invention relates to teleprocessing systems in general and more particularly to a protocol for controlling the exchange of messages within the teleprocessing system.
(2) Background of the Invention
The use of teleprocessing and/or distributive processing as a means for gathering and/or disseminating information is well known in the prior art. Teleprocessing is practiced in several areas of our society. Without the use of teleprocessing, the affected areas would not be as developed and efficient as they are today. Among the areas in which teleprocessing has become important are banking systems, retail stores, supermarkets, etc.
A typical distributive data processing system consists of a plurality of data terminals or other types of I/O devices coupled via communications lines to a main computer. The I/O devices may include keyboards, magnetic stripe readers, displays, scanners, etc. Data such as pricing information, inquiries, etc. are entered at the I/O devices transmitted to the main processor for processing and the result is returned to the I/O devices.
In addition to the basic configuration outlined above, every teleprocessing installation requires a set of rules or transmission techniques (sometimes called protocols) to control the transmission of messages within the installation. It has been determined that an efficient teleprocessing installation is one which utilizes a well-planned protocol. Such a protocol should not only deliver data but also provide a mechanism for path control, error detection, automatic error recovery, etc. The well known synchronous data link control (SDLC) network protocol meets these requirements. The SDLC techniques were developed and introduced by IBM, the assignee of the present invention. Because of the efficiency with which the SDLC techniques move data within a network, they are fast becoming the standard in the industry.
The basic transmission unit used in SDLC is called a frame. The format for an SDLC frame consists of a beginning flag field, an address field, a control field, an information field, two CRC fields, and an ending flag field. The fields are concatenated in the order of recitation. For proper operation it is important that a receiver must be able to identify the delimiters (that is, beginning and 10 ending flags) of a frame. To this end, the flag bytes are assigned a unique bit pattern (such as 01111110). This pattern is prevented from appearing elsewhere in the frame by a technique called bit stuffing. Simply stated, the bit stuffing technique requires that when transmitting a frame, a logical "0" bit is inserted after every string of five consecutive logical "1" bits are transmitted. Stated another way, for every string of five consecutive logical "1" bits transmitted, a logical "0" bit is also transmitted. However, when a flag byte is transmitted, the logical "0" is not inserted.
The receiver that is designed in accordance with the SDLC protocol follows an algorithm that states that a frame delimiter is established when a flag byte is detected. Thereafter, a "zero" bit is discarded if it follows five consecutive "one" bits. Thus, every byte in the frame can have any possible combinations of eight bits without confusing the receiver.
Associated with the efficient protocol is the need for rules to govern the conditions under which a terminal can insert or transmit data onto the communication link. The "poll" is a well-known prior art technique. With this technique the control processor periodically issues a short message called a "poll." A station or I/O device on receiving a poll transmits previously assembled data to the control processor.
In addition to the above teachings, the prior art sets forth other types of transmission techniques which can be used to exchange messages within a distributive data processing installation. The following patents set forth some of the prior art techniques.
U.S. Pat. No. 3,866,175 describes a system and method for communicating data between a central processor and a plurality of remote interactive data terminals over a single channel. A controller coupled to the channel generates each poll message, for a designated terminal, by selectively utilizing the output of an address generator. A recirculating shift register whose output signifies whether a terminal is active or inactive is synchronized with the operation of the address generator to allow the controller to poll only those terminals which are active.
U.S. Pat. No. 4,156,866 describes a distributive data processing system wherein a plurality of remote terminals are coupled over a single channel to a central computer. Each terminal has a unique address that is used by the central computer to effectuate communication therebetween. A valid message to a terminal consists of two sequential transmissions of the terminal's address and a combination of command signals that accompany the addresses to determine the function that is enabled at the receiver.
U.S. Pat. No. 3,453,597 describes a multi-station digital communications system wherein a single channel interconnects the multi-station with a transmitting station. The transmitting station addresses each remote station with a unique address which is bracketed between start and stop bits, respectively.
U.S. Pat. No. 4,456,957 describes a distributive computing system wherein a single router module interconnects a plurality of data entry terminals to a host computing system and a permanent storage device. The router module utilizes routing logic including a decision table to effect the routing through the interfaces which couple the various systems.
U.S. Pat. No. 4,466,001 describes a semi-duplex communication system wherein a base station transmits a reference signal which each terminal uses as a syn signal. Each unit having data to send to the base station responds with a very brief signal such as a burst of silent carrier transmission during an assigned time slot in a queue of slots. Only those units which respond are subsequently polled in a polling cycle.
U.S. Pat. No. 3,903,507 describes a communications system wherein information from a central processor is sent to all terminals simultaneously and the processor "listens" to terminals individually. As each terminal is being addressed, the preceding address terminal is connected to the central processor by means of a multiplexor switching device. If the preceding address terminal has information to send, it raises its carrier which forces the central processor to abort further transmission of the current address.
U.S. Pat. No. 4,298,978 describes a communications system and efficient communication vehicle for exchanging information between terminals within the system. The communication vehicle consists of an address field and data field wherein the address field is being enclosed by a start and a stop bit while the data field has a single start bit and one stop bit if it precedes another data field and a single start bit and two stop bits if it precedes an address field.
It would appear from the above description that the prior art transmission technique may be broadly classified as SDLC type protocols and non-SDLC type protocols. Although the invention to be described hereinafter can be used with those devices which utilize the non-SDLC type protocols, it works well with those devices that use the SDLC type protocol and as such will be described in that environment.